1. Field of the Invention
The present invention relates to providing streaming media data over coupled and heavily trafficked public/private computer networks. More particularly, the present invention relates to architectures for server deployment that reduce problems associated with the public network usage that otherwise impede efficient data subscription services to users.
2. Description of Related Art
The number of computers connected to the Internet has grown tremendously in recent years. A client/server description of the interactions between computers is well-known. A “client” computer connected to the Internet can download digital information from “server” computers. Client application software typically accepts commands from a user and obtains data and services by sending requests to server applications running on the server computers. A number of protocols may be used to exchange commands and data between computers connected to the Internet. For instance, protocols including the File Transfer Protocol (FTP), the Hyper Text Transfer Protocol (HTTP), the Simple Mail Transfer Protocol (SMTP), and the Gopher document protocol are commonly used.
Typically, the HTTP protocol is used to access data on the World Wide Web (the Web). The Web is an information service on the Internet providing documents and information, as well as links between documents and information. It is made up of numerous Web sites located around the world that maintain and distribute electronic documents. A Web site may use one or more Web server computers that store and distribute documents in a number of formats, including the Hyper Text Markup Language (HTML). An HTML document contains text and metadata (commands providing formatting information), as well as embedded links that reference other data or documents.
The referenced documents may represent text, graphics, video, streaming-media or any combination thereof.
A Web browser is a client application or, preferably, an integrated operating system utility that communicates with server computers via FTP, HTTP and Gopher protocols. Web browsers retrieve electronic documents from the network and present them to a user. Web browsers receive content from a server sent over the Internet that is typically encoded in Hyper Text Markup Language (HTML) and executed by the browser on a client computer. To remove limitations imposed by using only HTML scripts, browsers typically support the usage of additional components such as Java Applets, ActiveX Controls, and Plug-Ins that provide extra functionality. These additional components, commonly referred to as “client bits,” are typically stored as executables in the memory of the client computer, and can be installed onto the client computer directly from a storage medium or downloaded from a server over the Internet. The functional components such as Java Applets, ActiveX Controls, and Plug-Ins are mapped into the script so that actions, methods, or properties of an object can be called therefrom. (ActiveX Controls are reusable software components that incorporate ActiveX technology, which enables software applications to interact with one another in a networked environment regardless of the language in which the components were created. ActiveX Controls can be embedded in Web pages to produce animation and other multimedia effects, interactive objects and sophisticated applications. ActiveX Controls can be written in a variety of programming languages, including C, C++, Visual Basic, and Java. A Plug-In, on the other hand, is a software component designed to plug into the Netscape Navigator browser, and to permit the browser to access and execute files embedded in HTML documents that are in formats the browser normally would not normally recognize.)
Web browsers typically contain an associated scripting space, which is memory space allocated for a browser instance, for the reception of electronic data called a script. Web browsers receive scripts from the network into the scripting space and execute instructions contained in the script. One such instruction contained in a script might be presenting data to a user, usually by way of an output device such as a computer monitor. In addition to data for presentation to a user, the script may also contain mappings to objects and services stored in the memory of a client computer and instructions for interaction with or communication to and from those objects and services. A script might also contain additional instructions as well. An exchange between script instructions in a scripting space and a service or an object can be facilitated by additional objects, such as a Plug-In or ActiveX control. In these cases, a mapping to the Plug-In or ActiveX control is contained in the script, and the Plug-In or ActiveX control performs some operation towards carrying out the script instruction.
Through such technology, the Web or Internet has become a major communication medium wherein large volumes of streaming media, such as video presentation, are provided to users on a daily basis. Streaming media is a rich and powerful means of information delivery, which has clear advantages in the business environment. The power of video, combined with the ubiquity of the Internet, offers businesses a robust new platform for communication and collaboration. In today's global economy, streaming enables businesses to gain competitive advantage.
To date, however, the transmission of video over the Internet has been plagued by the “watch and wait” phenomenon. Previous IP video technology required that viewers first download a segment in its entirety before playback could begin. As a result, currently available streaming media applications generally suffer from degradation in the quality of service (QoS) as applied to networked environments (e.g., Internet). The degradation in quality of service (QoS) is generally attributable to network congestion and data capacity limitations in communication links and conduits (e. g., connectivity), as well as other factors that generally affect quality of service (QoS). As a result, in current streaming media applications as applied to networked environments, the end user or client typically will experience degradation in the quality of the particular media application. Typical problems associated with such degraded media applications are a loss in sound quality, picture quality, or actual operation of the media application at the end user's interface that is attributable to transmission congestion. Therefore, as streaming media becomes a more widely employed and accepted communication medium, quality of service (QoS) considerations are becoming an increasingly important factor in providing streaming media applications. See PCT publication W001/41399 for a methodology that addresses streamed media in the context of a conventional networked environment.
With the growth of rich content, enterprises find themselves with a problem: the every-day use of rich content applications develop an enormous demand for bandwidth, often saturating corporate backbone networks and adversely impacting mission-critical applications. Thus, there remains a need for methods to address quality of service (QoS) concerns of streaming media applications within private corporate network environments, especially to enterprise content delivery networks (eCDN) and multi-tiered eCDNs.